Source (game Engine)
   HOME

TheInfoList



OR:

Source is a 3D
game engine A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs. The "engine" terminology is similar to the term "software engine" used in the software i ...
developed by
Valve A valve is a device or natural object that regulates, directs or controls the flow of a fluid (gases, liquids, fluidized solids, or slurries) by opening, closing, or partially obstructing various passageways. Valves are technically fittings ...
. It debuted as the successor to
GoldSrc GoldSrc ( ) is a proprietary game engine developed by Valve. At its core, GoldSrc is a heavily modified version of id Software's ''Quake'' engine. It originally made its debut in 1998 with ''Half-Life'', and would power future games developed b ...
in 2004 with the release of '' Counter-Strike: Source'' and ''
Half-Life 2 ''Half-Life 2'' is a 2004 first-person shooter game developed by Valve Corporation, Valve. It was published by Valve through its distribution service Steam (service), Steam. Like the original ''Half-Life (video game), Half-Life'' (1998), ''Half- ...
''. Updates to Source were released in incremental versions, with the engine being succeeded by
Source 2 Source 2 is a video game engine developed by Valve. The engine was announced in 2015 as the successor to the original Source engine, with the first game to use it, ''Dota 2'', being ported from Source that same year. Since then, Valve's '' Art ...
by the late 2010s.


History

Source distantly originates from the
GoldSrc GoldSrc ( ) is a proprietary game engine developed by Valve. At its core, GoldSrc is a heavily modified version of id Software's ''Quake'' engine. It originally made its debut in 1998 with ''Half-Life'', and would power future games developed b ...
engine, itself a heavily modified version of John Carmack's
Quake engine The ''Quake'' engine is the game engine developed by id Software to power their 1996 video game '' Quake''. It featured true 3D real-time rendering and is now licensed under the terms of GNU General Public License v2.0 or later. After rele ...
with some code from the
Quake II engine The ''Quake II'' engine is a game engine developed by id Software for use in their 1997 first-person shooter ''Quake II''. It is the successor to the ''Quake'' engine. Since its release, the ''Quake II'' engine has been licensed for use in se ...
. Carmack commented on his
blog A blog (a truncation of "weblog") is a discussion or informational website published on the World Wide Web consisting of discrete, often informal diary-style text entries (posts). Posts are typically displayed in reverse chronological order ...
in 2004 that "there are still bits of early ''Quake'' code in ''Half-Life 2''". Valve employee Erik Johnson explained the engine's
nomenclature Nomenclature (, ) is a system of names or terms, or the rules for forming these terms in a particular field of arts or sciences. The principles of naming vary from the relatively informal naming conventions, conventions of everyday speech to the i ...
on the Valve Developer Community: Source was developed part-by-part from this fork onwards, slowly replacing GoldSrc in Valve's internal projects and, in part, explaining the reasons behind its unusually modular nature. Valve's development of Source since has been a mixture of licensed
middleware Middleware is a type of computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue". Middleware makes it easier for software developers to implement co ...
and in-house-developed code. Among others, Source uses Bink Video for video playback.


Modularity and notable updates

Source was created to evolve incrementally with new technology, as opposed to the
backward compatibility Backward compatibility (sometimes known as backwards compatibility) is a property of an operating system, product, or technology that allows for interoperability with an older legacy system, or with input designed for such a system, especiall ...
-breaking "version jumps" of its competitors. Different systems within Source are represented by separate modules which can be updated independently. With
Steam Steam is a substance containing water in the gas phase, and sometimes also an aerosol of liquid water droplets, or air. This may occur due to evaporation or due to boiling, where heat is applied until water reaches the enthalpy of vaporization ...
, Valve can distribute these updates automatically among its many users. In practice, however, there have been occasional breaks in this chain of compatibility. The release of '' Half-Life 2: Episode One'' and ''
The Orange Box ''The Orange Box'' is a video game compilation containing five games developed and published by Valve. Two of the games included, ''Half-Life 2'' and its first stand-alone expansion, '' Episode One'', had previously been released as separate ...
'' both introduced new versions of the engine that could not be used to run older games or mods without the developers performing upgrades to code and, in some cases, content. Both cases required markedly less work to update its version than competing engines.


Source 2006

The Source 2006 branch was the term used for Valve's games using technology that culminated with the release of ''Half-Life 2: Episode One''.
HDR rendering High-dynamic-range rendering (HDRR or HDR rendering), also known as high-dynamic-range lighting, is the Rendering (computer graphics), rendering of computer graphics scenes by using computer graphics lighting, lighting calculations done in high dy ...
and
color correction Color correction is a process used in stage lighting, photography, television, cinematography, and other disciplines, which uses color gels, or filters, to alter the overall color of the light. Typically the light color is measured on a scale kno ...
were first implemented in 2005 using '' Day of Defeat: Source'', which required the engine's shaders to be rewritten. The former, along with developer commentary tracks, were showcased in '' Half-Life 2: Lost Coast''. ''Episode One'' introduced
Phong shading In 3D computer graphics, Phong shading, Phong interpolation, or normal-vector interpolation shading is an interpolation technique for surface shading invented by computer graphics pioneer Bui Tuong Phong. Phong shading interpolates surface norm ...
and other smaller features.
Image-based rendering In computer graphics and computer vision, image-based modeling and rendering (IBMR) methods rely on a set of two-dimensional images of a scene to generate a three-dimensional model and then render some novel views of this scene. The traditional ...
technology had been in development for ''
Half-Life 2 ''Half-Life 2'' is a 2004 first-person shooter game developed by Valve Corporation, Valve. It was published by Valve through its distribution service Steam (service), Steam. Like the original ''Half-Life (video game), Half-Life'' (1998), ''Half- ...
'', but was cut from the engine before its release. It was mentioned again by
Gabe Newell Gabe Logan Newell (born November 3, 1962), nicknamed Gaben, is an American businessman and the president of the video game company Valve. Newell was born in Colorado and grew up in Davis, California. He attended Harvard University in the early ...
in 2006 as a piece of technology he would like to add to Source to implement support for much larger scenes that are impossible with strictly
polygonal In geometry, a polygon () is a plane figure that is described by a finite number of straight line segments connected to form a closed ''polygonal chain'' (or ''polygonal circuit''). The bounded plane region, the bounding circuit, or the two tog ...
objects.


Source 2007

The Source 2007 branch represented a full upgrade of the Source engine for the release of ''The Orange Box''. An artist-driven, threaded
particle system A particle system is a technique in game physics, motion graphics, and computer graphics that uses many minute sprites, 3D models, or other graphic objects to simulate certain kinds of "fuzzy" phenomena, which are otherwise very hard to repr ...
replaced previously
hard-coded Hard coding (also hard-coding or hardcoding) is the software development practice of embedding data directly into the source code of a program or other executable object, as opposed to obtaining the data from external sources or generating it at ...
effects for all of the games within. An in-
process A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic. Things called a process include: Business and management *Business process, activities that produce a specific se ...
tools framework was created to support it, which also supported the initial builds of
Source Filmmaker Source Filmmaker (often abbreviated as SFM) is a 3D computer graphics software toolset published by Valve for creating animated films, utilizing the Source game engine. Source Filmmaker has been used to create many community-based animated shor ...
. In addition, the facial animation system was made hardware-accelerated on modern video cards for "feature film and broadcast television" quality. The release of ''The Orange Box'' on multiple platforms allowed for a large
code refactoring In computer programming and software design, code refactoring is the process of restructuring existing computer code—changing the '' factoring''—without changing its external behavior. Refactoring is intended to improve the design, structur ...
, which let the Source engine take advantage of multiple CPU cores. However, support on the PC was experimental and unstable until the release of ''Left 4 Dead''. Multiprocessor support was later backported to ''
Team Fortress 2 ''Team Fortress 2'' is a 2007 multiplayer first-person shooter, first-person shooter game developed and published by Valve Corporation. It is the sequel to the 1996 ''Team Fortress'' Mod (video gaming), mod for ''Quake (video game), Quake'' and ...
'' and '' Day of Defeat: Source''. Valve created the
Xbox 360 The Xbox 360 is a home video game console developed by Microsoft. As the successor to the original Xbox, it is the second console in the Xbox series. It competed with Sony's PlayStation 3 and Nintendo's Wii as part of the seventh generation ...
release of ''The Orange Box'' in-house, and support for the console is fully integrated into the main engine codeline. It includes asset converters, cross-platform play and
Xbox Live The Xbox network, formerly and still sometimes branded as Xbox Live, is an Internet, online multiplayer video game, multiplayer gaming and digital media delivery service created and operated by Microsoft. It was first made available to the Xbox ...
integration. Program code can be ported from PC to Xbox 360 simply by recompiling it. The
PlayStation 3 The PlayStation 3 (PS3) is a home video game console developed by Sony Interactive Entertainment, Sony Computer Entertainment. The successor to the PlayStation 2, it is part of the PlayStation brand of consoles. It was first released on Novemb ...
release was outsourced to
Electronic Arts Electronic Arts Inc. (EA) is an American video game company headquartered in Redwood City, California. Founded in May 1982 by Apple employee Trip Hawkins, the company was a pioneer of the early home computer game industry and promoted the d ...
, and was plagued with issues throughout the process.
Gabe Newell Gabe Logan Newell (born November 3, 1962), nicknamed Gaben, is an American businessman and the president of the video game company Valve. Newell was born in Colorado and grew up in Davis, California. He attended Harvard University in the early ...
cited these issues when criticizing the console during the release of ''The Orange Box''.


''Left 4 Dead'' branch

The Left 4 Dead branch is an overhaul of many aspects of the Source engine through the development of the ''Left 4 Dead'' series. Multiprocessor support was further expanded, allowing for features like split screen multiplayer, additional post-processing effects, event scripting with Squirrel, and the highly-dynamic AI Director. The menu interface was re-implemented with a new layout designed to be more console-oriented. This branch later fueled the releases of ''
Alien Swarm ''Alien Swarm'' is a multiplayer top-down shooter video game developed by Valve. It is a remake of a mod for ''Unreal Tournament 2004'', and it was developed by the original team, who were hired by Valve during the course of the development pro ...
'' and ''
Portal 2 ''Portal 2'' is a 2011 puzzle-platform video game developed by Valve Corporation, Valve for Windows, Mac OS X, Linux, PlayStation 3, and Xbox 360. The digital PC version is distributed online by Valve's Steam (service), Steam service, while al ...
'', the former released with source code outlining many of the changes made since the branch began. ''Portal 2'', in addition, served as the result of Valve taking the problem of porting to PlayStation 3 in-house, and in combination with Steamworks integration creating what they called "the best console version of the game".


OS X, Linux, and Android support

In April 2010, Valve released all of their major Source games on
OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
, coinciding with the release of the Steam client on the same platform. Valve announced that all their future games would be released simultaneously for Windows and Mac. The first of Valve's games to support Linux was ''
Team Fortress 2 ''Team Fortress 2'' is a 2007 multiplayer first-person shooter, first-person shooter game developed and published by Valve Corporation. It is the sequel to the 1996 ''Team Fortress'' Mod (video gaming), mod for ''Quake (video game), Quake'' and ...
'', the port released in October 2012 along with the closed beta of the Linux version of Steam. Both the OS X and Linux ports of the engine take advantage of
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
and are powered by
Simple DirectMedia Layer Simple DirectMedia Layer (SDL) is a cross-platform In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in sever ...
. During the process of porting, Valve rearranged most of the games released up to ''The Orange Box'' into separate, but parallel "singleplayer" and "multiplayer" branches. The game code to these branches was made public to mod developers in 2013, and they serve as the current stable release of Source designated for mods. Support for Valve's internal Steam Pipe distribution system as well as the
Oculus Rift Oculus Rift is a discontinued line of virtual reality headsets developed and manufactured by Oculus VR, a division of Meta Platforms, released on March 28, 2016. In 2012 Oculus initiated a Kickstarter campaign to fund the Rift's development, af ...
are included. In May 2014,
Nvidia Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
released ports of ''Portal'' and ''Half-Life 2'' to their
Tegra 4 Tegra is a system on a chip (SoC) series developed by Nvidia for mobile devices such as smartphones, personal digital assistants, and mobile Internet devices. The Tegra integrates an ARM architecture central processing unit (CPU), graphics proc ...
-based Android
handheld game console A handheld game console, or simply handheld console, is a small, portable self-contained video game console with a built-in screen, game controls and speakers. Handheld game consoles are smaller than home video game consoles and contain the cons ...
Nvidia Shield Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
.


Tools and resources


Source SDK

Source SDK is the
software development kit A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific to ...
for the Source engine, and contains many of the tools used by Valve to develop assets for their games. It comes with several command-line programs designed for special functions within the asset pipeline, as well as a few GUI-based programs designed for handling more complex functions. Source SDK was launched as a free standalone toolset through Steam, and required a Source game to be purchased on the same account. Since the release of ''Left 4 Dead'' in late 2008, Valve began releasing "Authoring Tools" for individual games, which constitute the same programs adapted for each game's engine build. After ''Team Fortress 2'' became free-to-play, Source SDK was effectively made open to all Steam users. When some Source games were updated to Source 2013, the older Source SDKs were phased out. The three applications mentioned below are now included in the install of each game. There are three applications packaged in the Source SDK: Hammer Editor, Model Viewer, and Face Poser. The Model Viewer is a program that allows users to view models and can be used for a variety of different purposes, including development. Developers may use the program to view models and their corresponding animations, attachment points, bones, and so on. Face Poser is the tool used to access facial animations and choreography systems. This tool allows one to edit
facial expressions A facial expression is one or more motions or positions of the muscles beneath the skin of the face. According to one set of controversial theories, these movements convey the emotional state of an individual to observers. Facial expressions are ...
, gestures and movements for characters,
lip sync Lip sync or lip synch (pronounced , the same as the word ''sink'', short for lip synchronization) is a technical term for matching a speaking or singing person's lip movements with sung or spoken vocals. Audio for lip syncing is generated thr ...
speech, and sequence expressions and other acting cues and preview what the scene will look like in the game engine.


Hammer Editor

The Hammer Editor, the engine's official
level editor In video games, a level (also referred to as a map, stage, or round in some older games) is any space available to the player during the course of completion of an objective. Video game levels generally have progressively-increasing difficulty t ...
, uses rendering and compiling tools included in the SDK to create maps using the
binary space partitioning In computer science, binary space partitioning (BSP) is a method for space partitioning which recursively subdivides a Euclidean space into two convex sets by using hyperplanes as partitions. This process of subdividing gives rise to a represen ...
(BSP) method. Level geometry is created with 3D polygons called brushes; each face can be assigned a
texture Texture may refer to: Science and technology * Surface texture, the texture means smoothness, roughness, or bumpiness of the surface of an object * Texture (roads), road surface characteristics with waves shorter than road roughness * Texture ...
which also defines the properties of the surface such as the sounds used for footsteps. Faces can also be converted into a displacement allowing for more natural shapes such as hills to be created. Scenery objects or complex geometry can be imported as separate 3D models from the game directory. These models can also be used as physics objects or interactive props. The editor also features an in-depth logic I/O system that can be used to create complex interactive elements. Signals to trigger different responses or change the state of an entity can be sent between entities such as buttons,
NPCs A non-player character (NPC), or non-playable character, is any character in a game that is not controlled by a player. The term originated in traditional tabletop role-playing games where it applies to characters controlled by the gamemaster ...
, intangible trigger brushes, and map props.


Source Dedicated Server

The Source Dedicated Server (SRCDS) is a standalone launcher for the Source engine that runs multiplayer game sessions without requiring a client. It can be launched through Windows or Linux and can allow for custom levels and assets. Most third-party servers additionally run Metamod:Source and SourceMod, which together provide a framework on top of SRCDS for custom modification of gameplay on existing titles.


Source Filmmaker

The Source Filmmaker (SFM) is a video capture and editing application that works from within the Source engine. Developed by Valve, the tool was originally used to create movies for ''Day of Defeat: Source'' and ''Team Fortress 2''. It was also used to create some trailers for Source Engine games. The software was released to the public in 2012.


Destinations Workshop Tools

In June 2016, Valve released the Destinations Workshop Tools, a set of free
virtual reality Virtual reality (VR) is a simulated experience that employs pose tracking and 3D near-eye displays to give the user an immersive feel of a virtual world. Applications of virtual reality include entertainment (particularly video games), educ ...
(VR) creation tools running using the Source 2 SDK.


Valve Developer Community

In June 2005, Valve opened th
Valve Developer Community (VDC)
wiki A wiki ( ) is an online hypertext publication collaboratively edited and managed by its own audience, using a web browser. A typical wiki contains multiple pages for the subjects or scope of the project, and could be either open to the pu ...
. VDC replaced Valve's static Source SDK documentation with a full
MediaWiki MediaWiki is a free and open-source wiki software. It is used on Wikipedia and almost all other Wikimedia websites, including Wiktionary, Wikimedia Commons and Wikidata; these sites define a large part of the requirement set for MediaWiki ...
-powered community site.


Academic papers

Valve staff have occasionally produced professional and/or academic papers for various events and publications, including
SIGGRAPH SIGGRAPH (Special Interest Group on Computer Graphics and Interactive Techniques) is an annual conference on computer graphics (CG) organized by the ACM SIGGRAPH, starting in 1974. The main conference is held in North America; SIGGRAPH Asia ...
,
Game Developer Magazine ''Game Developer'' was a magazine for video game creators, originally started in March 1994 by Miller Freeman, Inc as quarterly, later bimonthly, and finally monthly. In each issue, industry leaders and experts shared technical solutions, reviewed ...
and
Game Developers Conference The Game Developers Conference (GDC) is an annual conference for video game developers. The event includes an expo, networking events, and awards shows like the Game Developers Choice Awards and Independent Games Festival, and a variety of tutori ...
, explaining various aspects of Source engine's development.


Games using Source

''
Titanfall ''Titanfall'' is a series of video games that mainly feature first-person shooter games. The series was created by Respawn Entertainment and debuted on Xbox and Microsoft Windows; it has expanded to other consoles and platforms. Gameplay In ''T ...
'', ''
Titanfall 2 ''Titanfall 2'' is a first-person shooter video game, developed by Respawn Entertainment and published by Electronic Arts. A sequel to 2014's '' Titanfall'', the game was released worldwide on October 28, 2016, for PlayStation 4, Windows, and ...
'', and ''
Apex Legends ''Apex Legends'' is a free-to-play battle royale-hero shooter game developed by Respawn Entertainment and published by Electronic Arts. It was released for PlayStation 4, Windows, and Xbox One in February 2019, for Nintendo Switch in March ...
'' are not included because their engines, while originally based on the Source SDK, were modified to the point that they are effectively different engines.


Source 2

Source 2 Source 2 is a video game engine developed by Valve. The engine was announced in 2015 as the successor to the original Source engine, with the first game to use it, ''Dota 2'', being ported from Source that same year. Since then, Valve's '' Art ...
, the successor to Source, was announced by Valve at the
Game Developers Conference The Game Developers Conference (GDC) is an annual conference for video game developers. The event includes an expo, networking events, and awards shows like the Game Developers Choice Awards and Independent Games Festival, and a variety of tutori ...
in March 2015. There, Valve stated that it would be free to use for developers, with support for the Vulkan graphical API, as well as using a new in-house
physics engine A physics engine is computer software that provides an approximate simulation of certain physical systems, such as rigid body dynamics (including collision detection), soft body dynamics, and fluid dynamics, of use in the domains of computer gr ...
called Rubikon. In June 2015, Valve announced that ''
Dota 2 ''Dota 2'' is a 2013 multiplayer online battle arena (MOBA) video game by Valve. The game is a sequel to ''Defense of the Ancients'' (''DotA''), a community-created mod for Blizzard Entertainment's '' Warcraft III: Reign of Chaos.'' ''Dota 2' ...
'', originally made in the Source engine, would be ported over to Source 2 in an update called ''
Dota 2 Reborn ''Dota 2'' is a 2013 multiplayer online battle arena (MOBA) video game by Valve. The game is a sequel to ''Defense of the Ancients'' (''DotA''), a community-created mod for Blizzard Entertainment's '' Warcraft III: Reign of Chaos.'' ''Dota 2 ...
''. ''Reborn'' was first released to the public as an opt-in beta update that same month before officially replacing the original client in September 2015, making it the first game to use the engine. Source 2 had succeeded the original engine by the late 2010s.


See also

*
First-person shooter engine A first-person shooter engine is a video game engine specialized for simulating 3D environments for use in a first-person shooter video game. First-person refers to the view where the players see the world from the eyes of their characters. Shoot ...
* List of Source engine mods


Notes


References

{{DEFAULTSORT:Source (Game Engine) 2004 software Game engines for Linux Proprietary software Video game engines